type TupleToNestedObject<T extends any[], U> = T extends [infer R, ...infer P]
    ? P extends []
        ? {
            [K in R as T[0]]: U
        }
        : {
            [K in R as T[0]]: TupleToNestedObject<P, U>
        }
    : U

    // 使用as 给K 确定类型